load("@prysm//tools/go:def.bzl", "go_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
load("//tools:prysm_image.bzl", "prysm_image_upload")

go_library(
    name = "go_default_library",
    srcs = ["main.go"],
    importpath = "github.com/prysmaticlabs/prysm/v5/tools/pcli",
    visibility = ["//visibility:private"],
    deps = [
        "//beacon-chain/core/epoch/precompute:go_default_library",
        "//beacon-chain/core/transition:go_default_library",
        "//beacon-chain/state:go_default_library",
        "//beacon-chain/state/state-native:go_default_library",
        "//config/params:go_default_library",
        "//consensus-types/interfaces:go_default_library",
        "//encoding/ssz/detect:go_default_library",
        "//encoding/ssz/equality:go_default_library",
        "//proto/prysm/v1alpha1:go_default_library",
        "//runtime/logging/logrus-prefixed-formatter:go_default_library",
        "//runtime/version:go_default_library",
        "@com_github_kr_pretty//:go_default_library",
        "@com_github_pkg_errors//:go_default_library",
        "@com_github_prysmaticlabs_fastssz//:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@com_github_urfave_cli_v2//:go_default_library",
        "@in_gopkg_d4l3k_messagediff_v1//:go_default_library",
    ],
)

go_binary(
    name = "pcli",
    embed = [":go_default_library"],
    visibility = ["//visibility:public"],
)

prysm_image_upload(
    name = "push_images",
    binary = ":pcli",
    entrypoint = ["/pcli"],
    repository = "gcr.io/prysmaticlabs/prysm/pcli",
    symlinks = {
        # Backwards compatibility for images that depended on the old filepath.
        "/app/tools/pcli/pcli": "/pcli",
    },
    tags = ["manual"],
)
